function promisify(fun) {
    return (...args) => {
        return new Promise((resolve, reject) => {
            args.push((data) => {
                // err && reject(err);
                // resolve(data);
                console.log(data);
                if (data.status === 0) {
                    resolve(data);
                } else {
                    reject(new Error(data.message));
                }
            });
            fun.apply(null, args);
        });
    };
}

export function useRfidSdk() {
    // #ifdef APP-PLUS
    const modules = uni.requireNativePlugin('rfidsdk_ModuleController');
    const _modules = {};
    for (const name in modules) {
        _modules[name] = promisify(modules[name]);
    }
    return _modules;
    // #endif

    // #ifdef H5
    return {};
    // #endif
}
